home *** CD-ROM | disk | FTP | other *** search
/ Magnum One / Magnum One (Mid-American Digital) (Disc Manufacturing).iso / d27 / autoc20b.arc / MENUCTL.DOC < prev    next >
Text File  |  1991-04-10  |  6KB  |  118 lines

  1.                       MENU.CTL - Device Driver
  2.  
  3.   Description:
  4.     Although Menu.Ctl was written to work directly with AutoCon, it is
  5.     a separate entity, and it can function indelpendently of AutoCon.
  6.     I will give enough information in this document to allow you to
  7.     use it independently, though I don't recommend doing so (sort of a
  8.     "Don't try this at home" warning).
  9.  
  10.     Menu.Ctl works by taking over control of the processing of the
  11.     CONFIG.SYS file.  It allows you to selectively disable various
  12.     groups of CONFIG.SYS commands.  You tell Menu.Ctl which groups you
  13.     want to control by statements in the CONFIG.SYS file.  The control
  14.     statements are defined below.  The part of the control statements
  15.     enclosed in [] are optional sub controls.
  16.  
  17.     I don't have DOS 4, but reports are that the device driver
  18.     XMAEM.SYS is processed out of normal sequence, therfore Menu.Ctl
  19.     can't control it.  Only one control statement (DEVICE=XMAMEM.SYS)
  20.     relateing to XMAEM.SYS is allowed per CONFIG.SYS file.  In other
  21.     words only put one statement in one default configuration.  If
  22.     there are two XMAEM.SYS statements in the CONFIG.SYS file, I
  23.     assume that it will not work properly.
  24.  
  25.     You should also note that any changes made during the boot process
  26.     have no  effect on the actual contents of the CONFIG.SYS file.
  27.     When a device driver is activated the first time, DOS has not made
  28.     enough of itself functional to do "real" file activity.  This
  29.     driver simply works on memory contents.
  30.  
  31.   Disabling:
  32.     DOS 4.0 introduced a "REMARK" capability into CONFIG.SYS files.
  33.     Menu.Ctl uses this capability to disable the unwanted CONFIG.SYS
  34.     commands.  It replaces all disabled commands with remark
  35.     statements.  In DOSes before 4.0, there is no convenient remark
  36.     statement, so I had to find another way to disable commands.
  37.     While I was creating Menu.Ctl, I noticed that the "BREAK=OFF"
  38.     CONFIG.SYS command was processed with nothing visible on the
  39.     screen.  So I adopted the technique of disabling commands by
  40.     replacing them with "BREAK=OFF" commands.  This technique works
  41.     well, but there are two slight problems with it.
  42.  
  43.     First, some of the commands I need to disable have a smaller
  44.     memory image than the "BREAK" command.  I found that none of those
  45.     commands have a problem if you add something to the end of the
  46.     line to make it longer.  Below is the way that I lengthen the
  47.     problem commands (I add an *, but any character should work):
  48.  
  49.       LASTDRIVE=M: *
  50.       BUFFERS=10 *
  51.       FILES=40 *
  52.  
  53.     Second, if you need to have "BREAK=ON" then you will have to put
  54.     the command in the AUTOEXEC.BAT fields.  I don't know anyone who
  55.     uses this statement, but I'm sure someone does.
  56.  
  57.   Unrecognized Commands:
  58.     If there is not enough room to convert a command to "BREAK=OFF"
  59.     then AutoCon will make it an "Unrecognized" command.  There is no
  60.     problem with this technique, but it will lead to a lot of
  61.     "Unrecognized command in CONFIG.SYS"  statements showing up on the
  62.     screen during the boot process.
  63.  
  64.  
  65.  
  66.                          CONTROL STATEMENTS
  67.  
  68.   DEVICE=MENU.CTL [Mx Tx "Text]
  69.     This line gets inserted in the CONFIG.SYS file just ahead of the
  70.     first group of commands that you wish to be able to disable.  The
  71.     x in [Tx] is the seconds MENU.CTL will pause waiting for a
  72.     keystroke before selecting the default configuration.  x defaults
  73.     to zero.  The x in [Mx] is the default menu number (1-8) that will
  74.     be selected as the default configuration.  NOTE: AutoCon always
  75.     writes the CONFIG.SYS file so that the default is Menu 1, so you
  76.     will never see the [Mx] in a CONFIG.SYS file created by AutoCon.
  77.     The Text in ["Text] will be the first menu title shown.  All text
  78.     following the " will be considered part of the title, so it must
  79.     be the last parameter on the line.  You can specify the first
  80.     title this way, or by using the MTITLE command defined below.
  81.     AutoCon uses MTITLE for all Menu titles for my convenience.
  82.  
  83.   DEVICE=MTITLE [Text]
  84.     The Text in [Text] will be shown as a Menu title on the screen
  85.     when you are making a configuration selection.  Each MTITLE
  86.     command will create a new Menu selection (up to 8).  The
  87.     CONFIG.SYS commands between MTITLE commands will become the
  88.     configuration choice after selection.
  89.  
  90.   DEVICE=MENUEND
  91.     There is no way for a device driver to know where the end of the
  92.     CONFIG.SYS file is in memory, so this control statement lets
  93.     Menu.Ctl know where the end is.  This statement must be in the
  94.     CONFIG.SYS file in order for it to work properly.
  95.  
  96.  
  97.                   BATCH FILE PROCESSING (MENUNUM.COM)
  98.  
  99.   MENUNUM.COM:
  100.     Menu.Ctl leaves about 180 bytes of itself in memory when it runs.
  101.     MENUNUM.COM is able to communicate with this resident portion.  It
  102.     uses the information in Menu.Ctl to set the errorlevel to the menu
  103.     number chosen during the boot process.  If Menu.Ctl can't be
  104.     found, the errorlevel will be set to 0.  If all menu choices were
  105.     disabled (Menu.Ctl allows the disabling of all CONFIG.SYS
  106.     commands), the MENUNUM will set the errorlevel to 255 (FF hex).
  107.  
  108.     If you look at the Autoexec.Bat file created by AutoCon in the
  109.     Menu mode, the first thing you will see is MENUNUM.COM.  Following
  110.     this you will see several "IF ERRORLEVEL" statements.  These if
  111.     statements allow the CONFIG.SYS menu choice to be related to the
  112.     AUTOEXEC.BAT menu choices.
  113.  
  114.     Thus all you need to write your own Boot Menu is Menu.Ctl and
  115.     MenuNum.Com.  A little study of the CONFIG.SYS and AUTOEXEC.BAT
  116.     menu mode files written by AutoCon will give you all of the
  117.     examples you need.
  118.